package com.zimmur.app.mocolink.service;

import com.zimmur.app.mocolink.domain.model.GroupGoods;
import com.zimmur.app.mocolink.domain.param.GroupGoodsParam;
import com.zimmur.app.mocolink.domain.param.TopInGroupGoodsReqParam;
import com.zimmur.app.mocolink.domain.util.PageUtil;
import com.zimmur.app.mocolink.domain.vo.GroupGoodsForManageVo;
import com.zimmur.app.mocolink.domain.vo.GroupGoodsInfo;
import com.zimmur.app.mocolink.domain.vo.GroupGoodsManageVo;
import com.zimmur.app.mocolink.domain.vo.GroupGoodsVo;

public interface IGroupGoodsService {
	/**
	* <p>Title: queryTopInGroupGoods</p>
	* <p>Description:分页查询topIn组货信息 </p>
	* @param param
	* @return
	*/
	PageUtil<GroupGoodsInfo> queryTopInGroupGoods(TopInGroupGoodsReqParam param);

	
	/**
	 * 
	 *@Description 查询买手页推荐组货
	 *@param pageNo
	 *@param userId
	 *@return 
	 *@author zcx
	 *@Time 2017年10月12日 上午9:59:18
	 */
	PageUtil<GroupGoodsInfo> queryIndexGroupGoods(int pageNo,int userId);

	/**
	 * 主键查询
	 *@Description
	 *@param groupGoodsId
	 *@return 
	 *@author zcx
	 *@Time 2017年10月14日 上午10:19:06
	 */
	GroupGoods selectById(Integer groupGoodsId);
	/**
	 * 主键更新
	 *@Description
	 *@param groupGoods
	 *@return 
	 *@author zcx
	 *@Time 2017年10月14日 上午10:19:12
	 */
	int update(GroupGoods groupGoods);
	/**
	 * 查询组货详细信息
	 *@Description
	 *@param groupGoodsId
	 *@param userId
	 *@return 
	 *@author zcx
	 *@Time 2017年10月16日 下午10:12:33
	 */
	GroupGoodsVo selectGroupGoodsVo(Integer groupGoodsId,Integer userId);
	/**
	 * 条件查询组货
	 *@Description
	 *@param param
	 *@return 
	 *@author zcx
	 *@Time 2017年10月17日 下午3:31:00
	 */
	PageUtil<GroupGoodsInfo> queryInfoByParam(GroupGoodsParam param);
	/**
	 * 条件查询组货 ——管理后台
	 *@Description
	 *@param param
	 *@return 
	 *@author zcx
	 *@Time 2017年10月19日 下午2:04:14
	 */
	PageUtil<GroupGoodsInfo> queryInfoByParamForManage(GroupGoodsParam param);


	/**
	* <p>Title: deleteGroupGoods</p>
	* <p>Description:删除组货信息 </p>
	* @param goodsId
	* @return
	*/
	Integer deleteGroupGoods(Integer goodsId);


	/**
	* <p>Title: queryGroupGoodsInfo</p>
	* <p>Description: 查询组货信息————后台 管理</p>
	* @param groupId
	* @return
	*/
	GroupGoodsForManageVo queryGroupGoodsInfo(Integer groupId);


	/**
	* <p>Title: updateGroupGoodsForManage</p>
	* <p>Description:修改组货信息 </p>
	* @param vo
	* @param userName
	* @return
	*/
	int updateGroupGoodsForManage(GroupGoodsManageVo vo, String userName);


	/**
	* <p>Title: saveGroupGoodsForManage</p>
	* <p>Description:新增组货信息 </p>
	* @param vo
	* @param userName
	* @return
	*/
	int saveGroupGoodsForManage(GroupGoodsManageVo vo, String userName);
}
